1. Field of the Invention
Embodiments of the invention relate to generation of software components from business rules expressed in natural language.
2. Description of Related Art
Natural language used by humans to communicate tends to be contextual and imprecise. To automate natural language processing using computerized methods, certain rules are usually imposed to confine the natural language expressions to a well-defined format. There are several applications that can provide an environment where natural language expressions may be expressed in an unambiguous format. One such application is business language. Business language can be used to describe a business organization and the business rules that are applicable to the business organization.
There are existing tools that help business people build formal business vocabularies. There are techniques developed by linguists for parsing well formed natural language statements into structures that represent the statements in terms of formal logics. There are various software-based approaches that assist people in moving from business requirements stated in business language into software designs, and from designs to implemented systems.
For example, there are well documented techniques for generating a relational data model from a logical model of concepts and fact types, such as the techniques described in “Information Modeling and Relational Databases From Conceptual Analysis to Logical Design”, pages 412-454, by Terry Halpin, Morgan Kaufmann Publishers, 2001. Examples of implementations of such generation are provided by database development tools such as Microsoft Visio (with Object Role Modeling) and InfoModeler of Asymetrix Corporation.
For example, there are software tools that perform automated generation of an execution model from a logical model. Examples of such software tools include the product LINC from Unisys Corporation, ActiveQuery tool from Visio Corporation and Internet Business Logic from Reengineering LLC.
However, these existing techniques only support some parts, but not all, of the transformation from business rules expressed in a natural language to software components. Currently, there does not exist a technique to provide an integrated system for automatically generating software components and databases from business rules expressed in a natural language.